home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-01-18 | 80.9 KB | 1,347 lines |
- ########### KAPITEL 1: ##############
-
- Mathematische Grundlagen für komplexe Fraktale
-
- Alle Mathematik-Experten möchten wir jetzt schon um Nachsicht bitten,
- wenn wir uns im folgenden um eine für Nichtfachleute verständliche
- Ausdrucksweise bemühen (den Fachleuten und einschlägig Interessierten
- unter Ihnen, die unsere Erklärungen für zu vereinfacht halten, möchten
- wir hiermit auf das Literaturverzeichnis im Anhang verweisen!).
- Dies wird also kein anspruchsvoller Exkurs in die Gefilde der höheren
- Mathematik, sondern lediglich eine kleine Einführung in die Grundlagen
- der fraktalen Mathematik, so daß auch mathematisch nicht so sehr Bewan-
- derte zumindest eine Vorstellung haben, worum es in diesem Programm
- überhaupt geht.
- Was sind überhaupt komplexe Zahlen, wozu braucht man diese scheinbar
- komplizierten Gebilde? Vielleicht haben Sie noch aus Ihrer Schulzeit
- die Formel zur Lösung einer quadratischen Gleichung "x2 + px + q = 0"
- mit "p" und "q" als beliebige Konstanten in Erinnerung.
- Diese lautet ganz allgemein:
-
- x = - p/2 +- Wurzel aus ((p^2) / 4 - q)
- 1, 2
-
- Mit der Lösung dieser Gleichung werden Sie spätestens dann Probleme
- bekommen haben, wenn der Ausdruck "p^2/4" kleiner als "q" ist, also der
- Ausdruck unter der Wurzel, der Radiant, kleiner als Null werden würde.
- Man sagt auch, daß diese Funktion dann keine reelle Lösung besitzt.
- Um trotzdem solche Funktionen lösen zu können, hat man die komplexen
- Zahlen eingeführt, die aus einer realen und einem imaginären Anteil be-
- steht. Für so eine komplexe Zahl schreibt man z = a + bi, wobei "i" als
- imaginäre Einheit mit der seltsamen Eigenschaft "i = Wurzel aus -1" defi-
- niert ist. Damit hat sich das Problem der negativen Wurzel gelöst:
- Die "Wurzel aus -1" wird als Konstante ausgeklammert mit der gegebenen
- Lösung i. Komplexe Zahlen haben daher stets eine reale Komponente "a"
- und eine komplexe Komponente "b", wobei alle reellen Zahlen als Sonderfall
- mit "b = 0" betrachtet werden können. Um dies zu veranschaulichen, kann
- eine komplexe Zahl als Punkt "Z = a + i b" auf der "komplexen oder Gauß-
- schen Zahlenebene" beschreiben werden.
-
- Mit komplexen Zahlen läßt sich wie mit Koordinatenpaaren rechnen: Addition
- und Subtraktion werden komponentenweise berechnet, für die Multiplikation
- gilt das gemischte Produkt, z.B.
-
- (3 + 7i) * (2 - 4i) = 3*2 - 3*4i + 2*7i - 7*4i^2 = 6 + 2i - 28i^2.
-
- Für i^2 gilt nun: i^ 2 = -1, so daß die entgültige Lösung lautet:
- (3 + 7i) * (2 - 4i) = 2i - 22.
-
- Die Berechnung von fraktalen Bildern vollzieht sich auf der Grundlage
- dieser komplexen Mathematik, wobei höhere Funktionen wie "sin" oder "tan"
- mit teilweise erheblichem Aufwand formuliert werden müssen - damit möchten
- wir Sie hier nicht behelligen. Die Standardformel "z^2 + c" (Grundlage des
- "normalen" Apfelmännchens) läßt sich jedoch recht einfach herleiten
- (binomische Formel!):
-
- z^2 + c = (a + i b)^2 + (cx + i cy) =
- a^2 + 2abi + (i b)^2 + (cx + i cy) =
- a^2 - b^2 + cx + (2ab + cy) i
-
- Hierbei ist der linke Summand der Realteil, der rechte Summand der imagi-
- näre Teil.
- Die Koeffizienten "a" und "b" sind die Koordinaten des zu berechnenden
- Punktes, "c" ist eine komplexe Konstante mit den Koeffizienten cx und cy.
- Die Berechnung von Fraktalen erfolgt nun punktweise durch eine Iteration
- innerhalb eines definierten Bildausschnitts. Hierbei liegen alle Punkte
- eines Bildes zwischen "X-Min" bis "X-Max", den reellen Bildgrenzen, und
- "Y-Min" bis "Y-Max", den imaginären Bildgrenzen.
- Die Iteration ist eine Berechnungsmethode, bei der das Ergebnis der vor-
- herigen Berechnung als Eingangswert in die laufende Berechnung eingeht,
- und in der Literatur auch als "Rückkopplungsmaschine" bezeichnet wird.
- Für die komplexe Standardfunktion "z^2 + c" sieht dies formal so aus:
-
- z <- z^2 + c
- n+1 n
-
- Bei der Mandelbrot- und Juliamenge werden für "z" als Startwert jeweils
- die Koordinaten des zu iterierenden Punktes evt. zuzüglich einer additiven
- Konstanten - im allgemeinen aber Null - genommen. Die Konstante "c" ist
- bei der Mandelbrotmenge abhängig von den Bildpunkt-Koordinaten, bei der
- Juliamenge werden hier jedoch festzulegende Konstanten, die sogenannten
- "Julia-Konstanten" eingesetzt.
- Jeder Bildpunkt einer Mandelbrotmenge ist der Ausgangspunkt einer eigenen
- Juliamenge! Dies läßt sich mit unserem Programm durch Wahl der Julia-
- Konstanten aus einem vorhandenen Mandelbrot-Bild sehr einfach veranschau-
- lichen.
- Ein wohl bekanntes Charakteristikum von Fraktalen ist deren "Selbstähn-
- lichkeit". Dies bedeutet, daß Einzelheiten eines Bildes mit nur geringen
- Abweichungen bei zunehmender Vergrößerung immer wiederkehren. Grundsätz-
- lich besteht jede fraktale Struktur aus unendlich vielen gleichartigen
- Strukturen, d.h. eine Spirale setzt sich aus kleineren Spiralen zusammen,
- die wiederum aus noch feineren "Spirälchen" bestehen.
- Diese Eigenschaft läßt sich bis in beliebig hohe Vergrößerungen nachvoll-
- ziehen. Gleichzeitig muß mit zunehmender Vergrößerung aber die Rechentiefe
- erhöht werden, damit weitere, feinere Einzelheiten auftauchen können. Beim
- Standard-Apfelmännchen, der Grundfigur der Iterationsformel "z^2 + c",
- genügt eine Rechentiefe von 50.
- Es hat nicht viel Zweck, diesen Wert hochzusetzen ohne gleichzeitig eine
- Einzelheit des Bildes (wie unter dem Mikroskop) zu vergrößern. Die feinen
- Strukturen dieser Figur gruppieren sich in einem sehr schmalen Bereich um
- das apfelähnliche Gebilde, das im allgemeinen schwarz eingefärbt ist.
- Dieses Gebiet wird als die eigentliche Mandelbrotmenge bezeichnet, da sie
- sich selbst bei nahezu unendlich vielen Rechenschritten nur noch im Detail
- verändert - genauer gesagt, schnüren sich die einzelnen "Knospen" des
- Apfelmännchens immer stärker ein. Der Bereich um das Apfelmännchen herum
- erhält dadurch seine Färbung, daß die Berechnung bei Überschreitung eines
- bestimmten Grenzwerts - im Programm "Radius" genannt - abgebrochen und
- einer Farbe zugeordnet wird.
- Zum Beispiel ist in der 23. Iteration das Ergebnis der Iterationsformel
- größer als der Radius 4. Der Bildpunkt, für den diese Iteration vorgenom-
- men wurde, erhält also die Farbe, die für "Tiefe = 23" vereinbart wurde.
- Um zur Selbstähnlichkeit zurückzukehren: Die Juliamenge eines bestimmten
- Bereichs der Mandelbrotmenge enthält Strukturen, die bei dieser oft erst
- bei sehr hohen Vergrößerungen sichtbar werden. Eine Juliamenge kann somit
- als Indikator für möglicherweise interessante fraktale Strukturen in einer
- Mandelbrotmenge dienen. Ein weiteres Charakteristikum ist, daß Juliamengen
- von Koordinaten innerhalb der geschlossenen Struktur des Apfelmännchens
- zusammenhängende, außerhalb mehr oder weniger verstreute Gebilde ergeben
- (Das dynamische Verhalten der Julia-Menge während der Iteration kann im
- Menü "Zeige Bildkoordinaten" untersucht werden). Entscheidend für die
- Kompexität einer fraktalen Struktur ist also die Entfernung von der Grund-
- figur!
- Biomorphe unterscheiden sich von den Juliamengen lediglich durch eine mo-
- difizierte Abbruch-Bedingung sowie einer geänderten Farbzuordnung. Fassen
- wir noch einmal zusammen, welche Parameter zur Definition einer Mandel-
- brot- und Juliamenge unabdingbar sind (in Klammern die programmeigenen
- Bezeichnungen):
- - die Ausschnittskoordinaten (X-min, X-max, Y-min und Y-max)
- - die Rechentiefe (Tiefe-Max)
- - bei Mandelbrot-Bildern eventuelle (additive) Startkonstanten
- (Add-X und Add-Y)
- - bei Juliamengen bzw. Biomorphen die Iterationskonstanten (Cx und Cy)
- - der Radius als Abbruch-Bedingung
- - und natürlich die Bildgröße.
- ############# KAPITEL 2 #############
-
- Bild - Iteration
-
- Grundsätzlich können fraktale Grafiken auf drei unterschiedliche Weise er-
- zeugt werden:
- - Auswahl einer der zahlreichen Formeln im Formel-Menü, Berechnung der dazu-
- gehörenden Grundfigur (im Mandelbrotmodus auf Knopfdruck) und Hinein-
- zoomen durch Berechnung von Ausschnittsvergrößerungen.
- - Explizite Eingabe aller Bildparameter durch Übernahme aus anderen Pro-
- grammen oder aus Büchern.
- - Automatische Berechnung von Bildern anhand ihrer Bildparameter aus einer
- beiliegenden oder selbst erstellten Parameterdatei.
-
- 1. Auswahl von Iterationstyp und Iterationsformel:
-
- Die Wahl des Iterationstyps und der Iterationsformel im Dialog "Itera-
- tionsformel" im Menü "Iteration" muß immer dann vorgenommen werden, wenn
- eine neue Grundfigur erzeugt oder Bildparameter manuell eingegeben werden
- sollen.
- Will man dagegen aus einem vorhandenen Bild zoomen, werden Iterationstyp
- und -formel des Ausgangsbildes übernommen.
-
- FRACTALS V unterstützt neben den "klassischen" Mandelbrotmengen eine
- Vielzahl weiterer Iterationstypen. Im einzelnen sind dies:
- - Juliamengen und Biomorphe, die mit der Mandelbrotmenge eng verwand
- sind; auf den mathematischen Hintergrund wird im 1. Kapitel näher ein-
- gegangen.
- - Newton-Attraktoren, die, vereinfacht ausgedrückt, eine graphische Me-
- thode zur Nullstellenberechnug darstellen und äußerst grazile Struktu-
- ren aufweisen. Auch das Newton-Verfahren arbeitet mit komplexen Zahlen.
- - Feigenbäume. Hierbei handelt es sich um eine Methode zur Untersuchung
- des chaotischen Verhaltens einer nicht-komplexen Iterationsformel.
- - Hüpfer-Diagramme stellen den Verlauf einer Iteration zweidimensional
- dar, wobei jedem (x,y)-Funktionswert ein Bildpunkt zugeordnet wird.
- - Henon-Attraktoren erinnern an Hüpfer-Diagramme, von Ihrer mathemati-
- schen Entstehungsweise sind sie jedoch eher mit einem "zweidimensiona-
- len" Feigenbaum vergleichbar.
- - L-Systeme: Iterative Berechnung von Fraktalen aus Linienelementen mit
- Hilfe einer "Schildkrötensprache".
- - Iterierte Funktionssysteme (IFS) : Hierbei werden graphische Grundele-
- mente einer rekursiven Koeffiziententransformation unterzogen. Dies
- hört sich zwar ziemlich kompliziert an, ist aber sehr anschaulich
- nachvollziehbar!
-
- Zu den Newton-Attraktoren, den Feigenbäumen, L-Systemen und IFS gibt es
- ausführliche Erläuterungen im Handbuch-Ergämzungstext "FRAC V.TXT"
-
- Zu jedem Iterationstyp gibt es eine Anzahl vordefinierter Iterationsfor-
- meln, die klassische Mandelbrotmenge basiert auf der Formel "z^2 + c".
- Bei dieser Formel kann zwischen den Abbruchtypen "Radius" und "Distance
- Estimator" gewählt werden, der das Aussehen des berechneten Bildes be-
- stimmt. Das Distance-Estimator-Verfahren ist zwar sehr rechenaufwendig,
- belohnt jedoch mit besonders "sauberen" Strukturen.
-
- 2. Berechnung der Grundfigur:
- Hat man nun eine Iterationsformel ausgewählt, kann sofort die Grundfigur
- zu dieser Formel berechnet werden. Ausnahmen bilden die Juliamengen und
- Biomorphe - diese benötigen die Iterationsparameter "Cx" und "Cy", die
- als (x,y)-Koordinate mit Hilfe eines Koordinatenkreuzes aus einer vor-
- handenen Mandelbrotmenge gewonnen werden. Die Iterationstypen Henon und
- Hüpfer haben auf Grund der beliebigen Iterationsparameter keine fest
- eingestellten Grundfiguren, bei diesen empfiehlt es sich, die dem Pro-
- gramm beigelegten Parameterdateien berechnen zu lassen und dann durch
- Abwandlung der Parameter (explizite Parametereingabe) eigene Versuche zu
- starten.
- Bei den Iterationstypen L-System und IFS kann vor Berechnung der Grund-
- figur in speziellen Dialogboxen zumindestens die Iterationstiefe einge-
- stellt werden.
-
- Zur Minimierung der Berechnungszeit bei zeilenweise aufgebauten Itera-
- tionstypen werden unterschiedliche Strategieen angewendet:
- - Spiegelung an der Y-Nullachse. Da fast alle Mandelbrotmengen symme-
- trisch zur Y-Achse sind, können symmetrisch vorhandene Bildteile ge-
- spiegelt werden.
- - Mit verschiedenen Interpolations-Algorithmen (Punkt-Interpolation,
- Zeilen-Interpolation und Flächen-Interpolation, einstellbar unter
- "globale Parameter" im "Diverses"-Menü) kann die Berechnung auf Kosten
- der Genauigkeit beschleunigt werden. Normalerweise ist die Fehlerrate
- jedoch so gering, daß sie kaum stört.
- - Das "Preview"-Verfahren berechnet ein Bild durch schrittweise Verfei-
- nerung. Ausgehend von 32 * 32 Pixel großen Kästchen wird das Bild in
- jedem Durchgang bei halbierter Kästchengröße (verdoppelter Auflösung)
- neu berechnet. So kann man sehr schnell einen ersten Eindruck vom Ge-
- samtbild gewinnen, ohne das Bild komplett fertig berechnen zu müssen.
-
- Grundsätzlich läßt sich jede Iteration mit der Escape-Taste stoppen.
- Allerdings wird immer erst ein Bildstreifen zu Ende gerechnet, damit
- bei Bedarf die Berechnung in der nächsten Bildzeile problemlos fort-
- gesetzt werden kann, auch mit einer anderen Interpolation.
-
- 3. Berechnung von Ausschnittsvergrößerungen (Zoomen):
- (nicht möglich bei L-Systemen und iterierten Funktionssystemen).
- Bei den meisten Iterationstypen und -formeln tauchen interessante Bild-
- strukturen erst bei sehr starker Vergrößerung auf. Diese Strukturen ver-
- stecken sich bei Mandelbrotmengen in dem sehr schmalen Bereich, der die
- geschlossene eigentliche Mandelbrotmenge umgibt.
- Beim "Zoomen" wird am aktuellen Bild zunächst die Größe des Ausschnitts-
- rahmens und die Proportion Breite : Höhe festgelegt. Letztere zeigt das
- Programm in der oberen Fensterzeile an. Anschließend läßt sich der Aus-
- schnitt durch Verschieben noch positionieren.
- Anschließend werden in einem Dialog u.a. die Koordinaten des neuen Aus-
- schnitts angezeigt. Hier läßt sich auch die Bildgröße des neuen Bildes
- einstellen, die zunächst auf den maximal möglichen Wert gesetzt ist.
- Die Änderung der Bildbreite und -höhe erfolgt so, daß das Bild unverzerrt
- bleibt. Mit der Taste "Entzerren" können Rechenungenauigkeiten oder Ver-
- zerrungen kompensiert werden, die z.B. beim Laden von Bildern aus anderen
- Auflösungen entstehen.
- Weiterhin muß die Rechentiefe angepaßt werden. Normalerweise reicht eine
- Verdopplelung der Rechentiefe aus, wenn man eine etwa 10fache Vergrößer-
- ung des Ausgangsbildes anstrebt.
- FRACTALS verlangt zusätzlich die Eingabe eines neuen Namens und generiert
- hierzu einen eigenen Namen, der sich aus dem Anfangsbuchstaben des Itera-
- tionstyps, der Nummer der aktuellen Formel und einer fortlaufenden Nummer
- zusammensetzt). Mit diesen Namen werden die Mitglieder einer Bildfamilie
- auseinandergehalten.
-
- 4. Explizite Parametereingabe:
-
- Einige Iterationsparameter lassen sich nur explizit ändern, z.B. der
- Radius als Abbruchparameter oder die Iterationskonstanten "Add-X" und
- "Add-Y" bei Mandelbrotmengen, die in den Grundfigurparametern vor-
- eingestellt Null sind. Im Dialog "Explizite Werte" lassen sich alle
- Iterationsparameter, abhängig vom eingestellten Iterationstyp, ändern.
- Wählt man diesen Dialog über das "Iterations"-Menü (oder [^W]), so über-
- nimmt das Programm Typ und Formel aus dem Formel-Dialog. Will man dage-
- gen Parameter eines vorhandenen Bildes ändern, so muß man den Umweg über
- das "Bild-Pop-Up" wählen (Doppelklick auf das Bild, "Parameter ändern"
- wählen).
- Die Daten des aktuellen Bildes werden in die Eingabe-Felder des Dialoges
- eingetragen. Beim Mandelbrot-Typ lassen sich die Iterationskonstanten
- "Add-X" und "Add-Y" - hier "Startwerte" genannt - ändern, außerdem die
- Ausschnittskoordinaten, der Radius, die Rechentiefe oder die Bildgröße.
- Gibt man einmal andere Startkonstanten an, z.B. "ADD-X = -0.2" und
- "ADD-Y = 0.1", ohne die anderen Parameter zu ändern, so wird das Apfel-
- männchen der Formel "z^2 + c" in merkwürdiger Weise verzerrt.
-
- 5. Definition einer Bilderfolge mit Hilfe der Parameterdatei:
- Mit "Bilderfolge definieren" im Menü "Iteration" kann eine
- - Bildfolge durch schrittweise Vergrößerung, also eine Zoomen-Folge oder
- - ein Poster durch Aufteilung eines Bildes in bis zu 8 * 8 = 64 Teil-
- Bilder berechnet werden.
-
- Als Ausgangsbild wird immer das Bild im aktuellen Bildspeicher verwendet.
- Das Zielbild kann auf folgenderweise definiert werden:
- - Wahl eines Bildspeichers mit dem Bildspeicher-Pop-Up. Das Zielbild muß
- eine Vergrößerung des Ausgangsbildes sein, also vollständig innerhalb
- der Koordinaten des Ausgangsbildes liegen.
- - Definition eines Zielausschnitts wie beim Zoomen.
- - Laden der Parameter des Zielbildes von einer abgespeicherten Bilddatei.
-
- Weiterhin muß die Anzahl der zu berechnenden Zwischenbilder angegeben
- werden. Die Höchstgrenze liegt bei 4095 Bildern!
- Mit zunehmender Vergrößerung muß natürlich auch die Rechentiefe erhöht
- werden. Diese wird für das Zielbild angegeben und vom Programm für die
- Zwischenbilder kontinuierlich von der Tiefe des Ausgangsbildes zu der des
- Zielbildes erhöht. Alle Bilder werden in einer festzulegenden Bildgröße
- berechnet,wobei sich der Bildausschnitt an Seiten- und Höhenverhältnisse
- des Ausgangsbildes anpaßt.
- Der Bildname der Bildfolge kann durch 5 Buchstaben (z.B."SERIE") fest-
- gelegt werden. Die restlichen drei Zeichen dienen dazu, die Bilder mit
- hexadezimalen Zeichen durchzunumerieren. Das erste Bild hat also den
- Namen "SERIE001", das letzte bei insgesamt 4095 würde "SERIEFFF" heißen.
-
- Mit dem Button "Anzeigen..." werden die Ausschnitte als Rahmen ins Aus-
- gangsbild eingezeichnet. Für einen kontinuierlich wirkenden Film mit
- nicht zu großen Sprüngen sollte die relative Vergrößerung nicht größer
- als 30 bis 50 Prozent des jeweils vorherigen Bildes betragen.
-
- Auch mit den Dialogen "Zoomen" und "explizite Werte" können die Bildpara-
- meter in eine Bildparameterdatei abgespeichert werden, ohne das Bild so-
- fort berechnen zu müssen. Beispielsweise lassen sich so kontinuierliche
- Änderungen von Iterationsparametern einstellen und nacheinander in EINE
- Parameterdatei schreiben, wobei die Parameter an eine bestehende Datei
- angehängt werden, es sei denn, man definiert eine neue Parameterdatei.
-
- 6. Das Tiefenwertfeld:
- Mit Hilfe des während der Itertation angelegten Tiefenwertfeldes, das zu-
- dem sehr effizient komprimiert ist, können Fraktale in Graustufen oder
- (unabhängig von der eingestellten Farbpalette) farbig nachbearbeitet wer-
- den. Weiterhin ist eine dreidimensionale Ausgabe möglich. Dieses Tiefen-
- wertfeld enthält die zu jedem Bildpunkt berechnete oder interpolierten
- Werte und somit die eigentliche Bildinformation als Zahlen zwischen "1"
- und der maximalen Rechentiefe. Auf die Möglichkeiten zur Bildbearbeitung
- wird im Kapitel 2 genauer eingegangen. Für die Iteration ist es nur
- wichtig, dieses Feld ausreichend groß zu dimensionieren.
- Sollte das Tiefenwertfeld während der Iteration überzulaufen drohen, wird
- die Bildberechnung mit einem entsprechenden Warnhinweis abgebrochen.
- Da die Tiefenwertfeldgröße sehr stark von der Komplexität des Bildes ab-
- hängt, ist es kaum möglich, seine exakte Größe vorherzusagen. Als Faust-
- regel kann man die Tiefenwert-Speichergröße unter "Speicher-Information"
- (Menü "Diverses") auf maximale Bildbreite * Bildhöhe * 0.75 einstellen.
- Für das Preview-Verfahren sowie bei der Berechnung von Hüpfern muß das
- Tiefenwertfeld aber mindestens Bildbreite * Bildhöhe groß sein!
-
- 7. Wahl des Ausgabetyps:
- Normalerweise werden Bilder für den Bildschirm berechnet und zeilenweise
- ausgegeben. Hierbei ist der Rechner bei Multitasking-Betriebssystemen
- jedoch für andere Anwendungen blockiert, und die Bildgröße ist durch die
- vorgegebene oder eingestellte Bildschirmauflösung begrenzt. Um dies zu
- ändern, kann im "Einstell"-Dialog der Ausgabetyp geändert werden:
- - "Bildschirm/ohne Ausgabe": Das Bild wird erst nach Beendigung der Ite-
- ration graphisch aufgebaut und zwar mit Hilfe der berechneten Tiefen-
- werte.
- - "Offscreen": Mit Hilfe der seit NVDI 2.5 möglichen "Enhancer"-Funktion
- lassen sich die Grafik-Informationen in einen Speicherbereich leiten.
- Dadurch ist die Bildgröße nur noch durch den zur Verfügung stehenden
- Speicherbereich beschränkt!
- - "Drucker: Superformat": Hiermit kann ein Bild direkt für die Drucker-
- ausgabe berechnet werden, die Bildgröße ist durch die mögliche Auf-
- lösung des Druckers begrenzt. Neben der Ausgabe in S/W oder Graustufen
- ist neuerdings auch eine Farbdruck-Ausgabe (unabhängig von der einge-
- stellten Bildschirm-Auflösung!) möglich.
- - Ausgabe in eine Export-Datei vom Typ "IMG" für schwarz-weiße Darstel-
- lungen und "TIFF" für Farbbildern. Bilddateien dürfen eine max. Größe
- von 5000 * 5000 Punkten besitzen.
- Wird einer dieser Ausgabetypen gewählt, kann FRACTALS unter Multitasking
- verlassen werden. Ein Zurückkehren ist jedoch erst möglich, wenn das Bild
- zu Ende berechnet wurde.
-
- 8. Abarbeiten einer Parameterdatei:
- Das automatischen Abarbeiten einer Parameterdatei erfolgt mit dem Menü-
- eintrag "Iteriere ... nach Parameter-Datei" im "Iterations"-Menü.
- Nach dem Laden einer solchen Datei, von der sich bereits mehrere auf
- der Bilder-Diskette (HD-Version: Programm-Diskette) befinden, kann man
- in einer Dialogbox diverse Einstellungen vornehmen:
- - In der Namensliste sind die Namen aller in der Parameterdatei vorhan-
- denen Bildparameter verzeichnet. Diese läßt sich mit den Scrollpfeilen
- und -schiebern durchblättern. Anfang und Ende der zu berechnenden
- Bilder sind in der Bilderliste markiert: Das erste Bild durch ein
- Häkchen, das letzte durch ein Uhrensymbol. Mit einem Maustastenklick
- auf einen Listeneintrag wird das erste zu berechnende Bild gesetzt;
- mit Klick + Shift wird das letzte zu berechnende Bild gesetzt. Bilder,
- die sich nicht berechnen lassen, z.B. wegen der Bildgröße, werden in
- grauer Schrift dargestellt und in der Nummerierung nicht berücksich-
- tigt.
- - Die Maximalzahl der zu berechnenden Bilder hängt davon ab, ob die Bil-
- der nach Fertigstellung in die Bildspeicher gepackt ("RAM") werden oder
- als Bildatei ("Disk") abgespeichert werden sollen. Im ersten Fall kön-
- nen maximal 20 Bilder iteriert werden. Bei nicht ausreichendem Spei-
- cherplatz (Festplatte oder Hauptspeicher) bricht die Berechnung der
- Bildfolge natürlich vorher ab.
- - In der Namensliste wird außerdem der Ausgabetyp angezeigt (Bildschirm
- mit oder ohne Ausgabe; Druckerausgabe bzw. IMG- bzw. TIFF-Ausgabe).
- Der Button "Ja" für "Tiefenwertdatei abspeichern" sollte nur dann
- aktiviert sein, wenn Sie die Bilder für den Bildschirm anschließend
- noch überarbeiten wollen. Für eine Zoomenfolge kann man zur Verein-
- fachung vom Programm automatisch übernehmen lassen, wobei die in den
- entsprechenden Dialogen eingestellten Parameter verwendet werden.
- (siehe Bildbearbeitung).
-
- Nach dem Start der Parameter-Bearbeitung werden nun nacheinander die
- Bildparameter geladen und daraus Bilder iteriert. Ein Abbruch per Escape
- ist möglich, wobei das Programm danach fragt, ob nur die Berechnung des
- aktuellen Bildes abgebrochen werden soll oder die Parameter-Bearbeitung
- als Ganzes.
- ############# KAPITEL 3 #############
-
- Bildbearbeitung
-
- Grundlage der nun zu erläuternden Bildbearbeitung sind die bereits öfter
- erwähnten Tiefenwertfelder, die von jedem Bild angelegt werden - sofern
- es sich um ein Bild der Iterationstypen "Mandelbrot", "Juliamange", "Bio-
- morph", "Newton-Attraktor" und "Hüpfer" handelt, das Bild zu Ende berech-
- net wurde und man das Anlegen des Tiefenwertfeldes unter "Einstellungen"
- nicht abgeschaltet hat.
-
- Die Tiefenwertfelder stellen im Grunde nichts anderes als große Zahlenfel-
- der dar, deren Werte sich im Bereich von 1 bis zur maximalen Rechentiefe
- bewegen. Durch eine sehr effektive Kompression sind diese Daten manchmal
- auf 10% der ungepackten Größe reduziert (z.B. bei den Grundfiguren), da
- die Kompressionsrate bei komplexeren Bildern schlechter wird, liegt sie in
- den meisten Fällen bei etwa 1/3.
- Das Abspeichern der Tiefenwerte von interessanten Bildern hat den Vorteil,
- daß man ein z.B. in schwarz-weiß erstelltes Bild problemlos farbig nachbe-
- arbeiten kann, was bei den reinen Bilddaten allein nicht möglich ist.
-
- Welche Möglichkeiten gibt es, ein Bild zu überarbeiten?
- - Für den Monochrom-Monitor bietet sich die Überarbeitung in Graustufen an.
- Da diese Anleitung ja leider nur zweifarbig vorliegt, wird diese Option
- am ausführlichsten besprochen.
- - Stehen lediglich 16 Farben zur Verfügung, sollte auf jedem Fall eine
- Farb-Überarbeitung erfolgen. Diese funktioniert im Prinzip wie die in
- Graustufen, ist jedoch nicht mit ihr identisch!
- - Neben der flächigen Darstellung von Bildern können diese auch dreidimen-
- sional projiziert werden, wobei die Darstellung farbig oder in Graustufen
- erfolgen kann.
- - Außer den Tiefenwerten selbst wird während der Iteration auch die Häufig-
- keit jedes Tiefenwerts abgespeichert. Diese Zahlen können mit der Stati-
- stik-Funktion als Blockdiagramm angezeigt werden und leisten eine große
- Hilfe bei der Überarbeitung von Bildern.
-
- Die nachfolgenden Ausführungen demonstrieren wir anhand eines Beispiel-
- Bildes namens "TESTBILD.FRK", das sich im Ordner "BEISPIEL" zusammen mit
- der dazugehörenden Tiefenwert-Datei befindet. Dieses Bild sollte nun gela-
- den werden; das Nachladen der Tiefenwerte erfolgt auf Nachfrage.
- In dem anfämglich ziemlich chaotisch aussehemdem Pixel-Gewusel des ur-
- sprünglich schwarz-weißen Bildes verstecken sich hochinteressante Struktu-
- ren, die nun herausgearbeitet werden können.
-
- Der Dialog "Graustufen-Umsetzung" ermöglicht folgende Eintellmöglichkeiten:
- Im oberen Teil gibt es diverse Möglichkeiten, die Zuordnung von Graustufen
- zu den Tiefenwerten explizit zu beeinflussen.
- - der Typ der verwendeten Graustufe (interne Graustufentypen sind "Muster"
- und "Halbton" sowie externe Graustufen, sofern diese geladen wurden).
- - die Anzahl der Graustufen, die für die Darstellung verwendet werden
- sollen. Werden nicht alle möglichen Graustufen verwendet, so werden
- die verwendeten Raster gleichmäßig aus dem möglichen Vorrat ausgewählt.
- - die Nummer der ersten Graustufe, also derjenigen, die für den kleinsten
- vorhandenen Tiefenwert benutzt wird;
- - die Nummer der Farbe, in der die Graustufen gezeichnet werden sollen
- (im S/W-Modus immer "1", also schwarz, daher nicht editierbar!);
- - die Anzahl der nacheinander folgenden Tiefenwerte, die mit einer Grau-
- stufe gezeichnet werden. Damit läßt sich das periodische Verhalten einer
- Funktion strecken oder stauchen.
- - die Mindestzahl von vorhandenen Tiefenwerten (aus der Statistik) gibt an,
- die Graustufe nur dann zu ändern, wenn diese Zahl von der tatsächlichen
- Zahl vorhandener Tiefenwerte erreicht oder überschritten wird.
- - die Aufhellung ist ein Wert, der von allen Funktionswerten subtrahiert
- wird, so daß sich das Bild global aufhellen oder verdunkeln läßt (letzte-
- res mit negativen Zahlen!). Damit wird die gesamte Funktion nach oben
- oder unten verschoben.
- - mit dem Zuordnungsfunktions-Pop-Up läßt sich definieren, in welcher Weise
- Graustufen Tiefenwerten zugeordnet werden: Sägezahn, Dreieck, Sinus oder
- Wurzelfunktion.
- - mit dem Bereich-Pop-Up kann eingestellt werden, ob die zuvor eingestell-
- ten Parameter global oder nur für einen bestimmten Tiefenwertbereich de-
- finiert werden sollen. Außerdem kann die Übernahme der Parameter unter-
- drückt werden, um das Bild mit einer nachzuladenden Farbtabellen-Datei
- zu überarbeiten.
-
- Zunächst können Sie einmal einige einfache Graustufen-Bilder erzeugen, um
- die Auswirkung der Parameter kennenzulernen.
- 1. Beispiel: "Sägezahn"-Funktion mit 63 Graustufen, Musterwechsel = 1 und
- Mindestzahl vorhandener Tiefenwerte = 1;
- 2. Beispiel: "Dreieck"-Funktion mit 20 Graustufen, Musterwechsel = 2 und
- Mindestzahl = 20;
- 3. Beispiel: "Sinus"-Funktion mit 63 Graustufen mit Nr. 4 als erste Grau-
- stufe, Musterwechse = 1 und Mindestzahl = 50;
- 4. Beispiel: "Wurzel"-Funktion mit 16 Graustufen mit Nr. 20 als erste, so-
- wie Musterwechsel = 1 und Mindestzahl = 20.
-
- Wenn Sie diese Graustufen-Parameter (oder auch andere!) ausprobieren wol-
- len, schalten Sie bitte das Popup "Parameter übernehmen" auf "Ja: gesamt",
- da die eingestellten Parameter andernfalls nicht übernommen werden! Das
- Bild wird nach Druck auf den Button "Bildschirm-Ausgabe" neu gezeichnet.
- Die Ausgabe läßt sich mit der Escape-Taste jederzeit abbrechen.
-
- Einige Erfahrungswerte für die Graustufenbearbeitung:
- - bei sehr geringer Rechentiefe (z.B. den Grundfiguren) sollte man die
- Anzahl der verwendeten Graustufen stark einschränken!
- - der Bildkontrast (also der Helligkeitsunterschied zwischen den einzelnen
- Tiefenwerten ist mit der "Dreieck"-Funktion am geringsten, mit der
- "Sinus"-Funktion am höchsten. Die "Wurzel"-Funktion dunkelt Bilder sehr
- stark ein. Viele Bilder wirken mit der "Sinus"-Funktion am "natürlich-
- sten", aber das ist natürlich Geschmackssache.
- - Je "wuseliger" das Bild ist, desto mehr Graustufen sollten verwendet
- werden. Reicht dies noch nicht aus, muß man Tiefenwerte zusammenfassen,
- indem man den Musterwechsel-Wert vergrößert.
-
- Die anderen Knöpfe im Graustufen Dialog haben folgende Bedeutung:
- - Mit "Farbtabelle speichern" können besonders gelungene Graustufen-Funk-
- tionstabelle abspeichert und z.B. für ein anderes Bild verwendet werden
- ("Farbtabelle laden"). Eine derartige Farbtabelle ist im "Beispiel"-
- Ordner als "TESTBILD.FT" abgespeichert.
- - Neben der Bildschirm-Ausgabe ist auch eine "GDOS-Ausgabe" möglich, sofern
- Sie auf Ihrem Rechner GDOS installiert wurde. Hier erfolgt ein Ausdruck
- des Graustufen-Bildes auf dem angeschlossenen Drucker. Näheres dazu steht
- im Kapitel "Bilder drucken".
- - Rufen Sie die Graustufen-Umsetzung für das gleiche Bild ein zweites Mal
- auf, ist auch der Button "Graustufen zeigen ..." anwählbar. Betätigen Sie
- diesen Knopf, wird im Bild die Rechentiefe an der Position des Faden-
- kreuzes und die zugehörige Graustufe in einem Kästchen am oberen Bild-
- schirmrand angezeigt.
- Von dieser Ebene erreicht man ein weiteres Menü, nämlich die manuelle
- Farbzuordnung, indem die "Help"- oder die linke Maustaste betätigt wird:
- In der Eingabe-Zeile "von ... bis " läßt sich ein Tiefenwertbereich defi-
- nieren, der mit der angezeigten Graustufe im Kästchen gefüllt werden
- soll. Bei Druck auf "Zeichnen" wird diese Eingabe sofort ausgeführt.
- Möchten Sie mehrere Bereiche hintereinander definieren, ohne jedesmal das
- Bild neu zeichnen zu lassen, benutzen Sie den "Setzen"-Button: Damit wird
- die Graustufen-Tabelle mit der Farbnummer über den gesetzten Tiefenwert-
- bereich lediglich initialisiert ohne das Bild neu zu zeichnen. Mit "Undo"
- kann die letzte Einstellung jeweils rückgängig gemacht werden. Für die
- Auswahl der jeweils zu benutzenden Graustufe gibt es zwei Möglichkeiten:
- Einmal kann über die Pfeil-Tasten "links" und "rechts" die angezeigte
- Graustufe mit darüberstehender Nummer geändert werden. Zum zweiten er-
- halten Sie eine Übersicht aller vorhandenen Graustufen, wenn Sie den
- Button "Palette zeigen" anklicken und hier mit der "zeigenden Hand" als
- Mauscursor eine Graustufe auswählen.
-
- Mit dem "Fertig"-Knopf verlassen Sie diesen Dialog und gelangen in die
- Graustufen-Anzeige zurück, die für die manuelle Einstellung übrigens sehr
- hilfreich sein kann.
- Am sinnvollsten ist diese Option, um ein Bild so zu verbessern, imdem man
- z.B. bestimmte Strukturen herausarbeitet (z.B. auf "schwarz" setzt) oder
- weniger interessante Bildbereiche in eine Graustufe zusammenfaßt. Mit
- "weiß" lassen sich Tiefenwertbereiche gezielt löschen, z.B. die Bild-
- außenbereiche. Die Beispiel-Farbtabelle wurde so manuell überarbeitet.
-
- Alle bisher gemachten Ausführungen gelten insbesondere für den Monochrom-
- betrieb des Programms. Aber auch mit nur 16 Farben wird man ohne die Mög-
- lichkeit der nachträglichen Veränderung der Bildfarben schnell auf ziemlich
- komplexe Bildstrukturen stoßen, die oft in einem bunten Gewimmel unterzu-
- gehen drohen!
- Der Dialog "Farbbearbeitung" erlaubt folgende Parameter zur Farbzuordnung:
- - die "Anzahl der Farben", die sich aber erst im 16-Farben-Betrieb verän-
- dern läßt. Dabei müssen mindestens 4 Farben verwendet werden.
- - bei den Zuordnungsfunktionen im S/W-Betrieb sind nur die "Sägezahn"-
- Funktion (also schwarz-weiß im stetigen Wechsel) sowie "nur Tiefemax"
- möglich. Mit dieser Einstellung wird ausschließlich die eigentliche
- Mandelbrotmenge dargestellt. Damit können Sie im einem Fraktal "Mini-
- Apfelmännchen" für weitere Vergrößerungen aufspüren.
-
- Die meisten Funktionen dieses Dialogs gelten analog zur Graustufen-Über-
- arbeitung. So erhält man z.B. nach Betätigen des Buttons "Farben anzeigen"
- ein Menü, von dem aus die manuelle Farbzuordnung erreichbar ist, deren
- Funktion exakt der der manuellen Graustufen-Überarbeitung entspricht.
- Ein Unterschied besteht in der Art der abgespeicherten Farbtabellen:
- Graustufentabellen lassen sich nicht als Farbtabellen laden und umgekehrt.
- Der Grund liegt darin, daß die Tabellen Werte enthalten könnten, die sich
- nicht als Farbnummern oder Graustufen interpretieren ließen. Da beide Da-
- teien jedoch die gleiche Extension haben (".FT"), sollte man - sofern es
- zu Verwechselungen kommen kann - die Unterscheidung im Dateinamen vermer-
- ken!
-
- Nun zum "Verteilungsdiagramm", das die aktuellen Tiefenwerte als Statistik
- anzeigt:
- Mit dem waagerechten Scrollschieber läßt sich der gesamte Tiefenwertbereich
- durchscrollen - bei unserem Testbild also von 1 bis 1000. Befindet sich der
- Mauscursor innerhalb des Verteilungsdiagramms, zeigt das Programm die zum
- jeweiligen Balken gehörende Anzahl der Tiefenwerte an.
- Unterhalb des Balkendiagramms wird die dem Tiefenwert zugeordnete Graustufe
- (bzw. Farbe bei Farbbildern) angezeigt. Weitere Einzelheiten stehen im
- Handbuch!
-
- Erläuterungen zur dreidimensionalen Ausgabe:
- Als Beispiel reicht hierfür die bekannte Grundfigur der Formel "z^2 + c".
- Nachdem dieses Bild berechnet wurde, sollte im S/W-Modus zunächst die
- Graustufen-Ausgabe aufgerufen werden, um das Bild mit ca. 5 bis 15 Rastern
- auf dem Bildschirm neu darzustellen. (Im Farbbetrieb ist dieser Zwischen-
- schritt unnötig.) Der Grund hierfür: die dreidimensionale Ausgabe benutzt
- für Graustufenbilder wahlweise die im Graustufen-Dialog definierten Farb-
- tabellen.
- Nun kann die "3D-Projektion" [Alternate D] aufgerufen werden. Der Dialog
- ist in zwei große Felder untergliedert. Das obere Feld enthält alle Ein-
- stellungen, die die dreidimensionale Projektion des Bildes beeinflussen.
- Alle vorgenommenen Eingaben wie Dreh- oder Neigungswinkel, Bildgröße oder
- Überhöhung werden sofort im Projektionsfenster links oben angezeigt. Der
- Umriß dieses Fensters entspricht etwa der Größe des benutzbaren Bildschirm-
- bereichs. Das untere Feld erlaubt Eingaben, die das weitere Aussehen des
- Bildes bestimmen.
-
- Die Möglichkeiten zur Veränderung der Projektion sind:
- - der Drehwinkel, der den Winkel um die "senkrechte" Achse bestimmt. Er
- läßt sich zwischen -70 und +70 Grad einstellen.
- - der Neigungswinkel definiert den Winkel um die "horizontale" Achse.
- Dieser Bereich liegt zwischen 0 und 90 Grad, wobei 90 Grad einer direkten
- Aufsicht entspricht.
- - die projizierte Bildgröße ist auf die Größe des zweidimensionalen Bildes
- zugeschnitten. Die Vergrößerung erfolgt so, daß in der Prokektion keine
- Löcher entstehen.
- - die Überhöhung beschreibt zum einem, wie stark die Tiefenwerte in "Bild-
- ausschläge" umgesetzt werden sollen. Zum anderen bestimmt das Vorzeichen
- die Richtung der Projektion: Das negative Vorzeichen bedeutet, daß die
- maximale Tiefe als "See" dargestellt wird - bei positiven Werten wird ein
- "Gebirge" projiziert. Der gestrichelte Umriß im Projektionsfenster zeigt
- die maximale Rechentiefe an.
- - die Perspektive gibt die Art der Projektion an. Die Zentralperspektive
- wirkt plastischer, ist allerdings auch rechenaufwendiger als die Paral-
- lelperspektive, außerdem verursacht sie typische Moiré-Muster, die aber
- durchaus ihren Reiz haben.
-
- Im unteren Teil des Dialogs kann zunächst der Farbmodus angegeben werden:
- - im Modus "S/W" wird jeder iterierte Bildpunkt außer maximaler Tiefe als
- schwarzes Pixel, die maximale Rechentiefe in einem grauen Raster darge-
- stellt.
- - im Modus "Graustufen" werden die in der Graustufen-Umsetzung vorgenom-
- menen Einstellungen übernommen. Wurde keine Graustufen-Tabelle initiali-
- siert, ist dieser Button nicht anwählbar.
- - im Farbbetrieb können Bilder auch in Farbe projiziert werden. Ein beson-
- ders gelungenes Bild mit 256 Farben liegt auf der Bilder-Diskette als
- "SPIRAL3D.FRK" vor. Der Farbmodus berücksichtigt die in der "Farbein-
- stellung" vorgenommenen Parameter der Farbzuordnung.
- - Mit der "Glättungsfunktion" kann die bei vielen Bildern sehr starke
- Streuung der Bildhöhe vermindert werden. Mit der zuschaltbaren Glättung
- wird die Bildhöhe so modifiziert, daß bei der Bildung der neuen Bildhöhe
- die Höhe des vorhergehenden Bildpunkts durch den einstellbaren Glättungs-
- faktor prozentual berücksichtigt wird. Bei "1" wird das Bild völlig ein-
- geebnet, bei "0" ist der Glättungsfaktor ohne Wirkung.
-
- Mit den beiden unteren Stellgliedern kann man die Farbe bzw. Graustufe des
- Bildhintergrundes definieren. Im Farbbetrieb läßt sich aus der Farbpalette
- eine Hintergrundfarbe definieren. Diese kann zusätzlich durch Wahl eines
- Rasters "aufgehellt" werden. Da Farbbilder oft durch einen schwarzen
- Hintergrund besonders eindrucksvoll wirken, ist diese Farbe voreinge-
- stellt. Im S/W-Modus wird das Bild einfach mit der eingestellten Graustufe
- hinterlegt.
- ############# KAPITEL 4 #############
-
- Farbeinstellung
-
- In diesem Kapitel gibt es vor allem um die optimale Einstellung der Farb-
- palette, aber auch ein bißchen Farbenlehre wird zu vermitteln sein! Das
- Betriebssystem des Atari gibt uns die Möglichkeit, die Farbe eines Bild-
- punktes zu definieren und nachträglich zu verändern. Die nachträgliche
- Änderung der Farbpalette ist im Echtfarben-Betrieb (mehr als 256 Farben)
- leider nicht möglich der Aufruf des Farbeinstell-Menüs bringt hier gar
- nichts!
- Wenn wir also z.B. die Farbe Nr. 11 verwenden wollen, wird der Rechner in
- das Farbregister dieser Farbe schauen, um die Farbe aus Anteilen der Grund-
- farben zusammensetzen. Diese Grundfarben sind rot, grün und blau, aus denen
- alle anderen Farben gemischt werden können. Das verwendete Farbmodell ist
- uns von unserem Farbfernseher wohlbekannt es wird RGB-Modell genannt. Die
- Farbzusammensetzung erfolgt durch additive Farbmischung, wie sie durch die
- Überlagerung verschiedenfarbiger Lichtstrahlen erzielt wird.
- Gelb ist dabei eine Mischung aus Rot und Grün, Violett eine Mischung aus
- Grün und Blau und Purpur eine Mischung aus Rot und Blau. Weiß entsteht
- durch die Überlagerung aller Grundfarben. Schwarz ist dagegen das "Nicht-
- vorhandensein" aller Farben! Die verschiedenen Farbintensitäten entstehen
- durch unterschiedliche Helligkeiten.
-
- Der Betriebssystemteil "VDI" unseres Computers definiert eine beliebige
- Farbe aus 3 Intensitätswerten dieser 3 Grundfarben, wobei die Intensitäten
- in "Promille" - einem Wert zwischen 0 und 1000 - angegeben werden. Aus der
- Kombination dieser Zahlen wären 1000^3 = 1 Milliarde Farbnuancen möglich.
- Dies ist allerdings ein Wert, der das Farbvermögen des Auges um ein Viel-
- faches übertrifft! Moderne "TRUE-COLOR"-Grafikkarten erreichen heute eine
- Farbtiefe von 24 Bit, mit denen 16,8 Millionen (256^3) Farbnuancen möglich
- sind. Der Atari STE bringt es immerhin auf 4096 Farben - pro Grundfarbe
- sind 16 unterschiedliche Intensitäten möglich. (Leider können von dieser
- Palette nur 16 Farben gleichzeitig dargestellt werden.)
-
- Da die voreingestellte Farbpalette des Rechners für fraktale Grafiken meist
- völlig ungeeignet ist, gibt es in FRACTALS umfangreiche Möglichkeiten,
- Farbpaletten nach eigenem Geschmack zu laden, zu verändern und abzuspei-
- chern. Im FRACTALS-V-Verzeichnis kann eine Default-Farbpalette namens
- "FRACTALS.PAL" vorgegeben werden, die beim Start automatisch geladen wird.
- Paletten-Dateien bestehen aus Zahlenkolonnen, die den VDI-Farbnuancen
- entsprechen, also stets drei Zahlwerte zwischen 0 und 1000 für ein Palet-
- tenwert. Die Anzahl definierter Farben ergibt sich aus der Dateilänge:
- 16-Farbe-Paletten haben eine Länge von 96 Byte, 256-Farben-Paletten eine
- Länge von 1536 Byte.
- Im Dialog "globale Einstellungen" gibt es 2 Schalter, die die Farbdarstel-
- lung beeinflussen:
- 1. Verwendung der ersten 16 Farben: Im 256-Farben-Betrieb sollte man diesen
- Schalter auf "nein" setzen, wenn sich die Farben, die das Betriebssystem
- verwendet, nicht verändern sollen. Damit verringert sich natürlich die
- Anzahl möglicher Farbabstufungen für Farbbilder.
- 2. "Farbpalette anhängen": Hiermit wird nicht nur eingestellt, ob beim
- Abspeichern von Bildern die aktuelle Palette mit gespeichert wird, es
- werden außerdem "lokale" Farbpaletten zu jedem Bildspeicher verwaltet,
- so daß man ein und dasselbe Bild auch mit verschiedenen Paletten im
- Speicher halten kann.
-
- Der Aufruf des Menüs "Farbeinstellung" erfolgt im Farbbetrieb im Drop-Down-
- Menü "Diverses". Im S/W-Modus läßt sich hier nur das Bild invertieren (Ver-
- tauschen von "schwarz" und "weiß").
- Im oberen Bereich des Dialoges können zunächst unterschiedliche "Arbeits-
- modi" eingestellt werden. Das linke Pop-Up-Menü erlaubt die Einstellung
- jeder einzelnen Farbe, die globale Einstellung der R-, G- und B-Anteile
- aller Farben gemeinsam oder eines Farbbereichs sowie die Berechnung einer
- sinusförmigen Farbverteilung.
- Im rechten Pop-Up-Menü kann zwischen der Farbpalettenanzeige und einer Hi-
- stogrammanzeige umgeschaltet werden, bei der die Farbanteile aller Farben
- als Kurven (oder Treppen) angezeigt werden.
-
- Im Arbeitsmodus "Einzelfarben einstellen " läßt sich die aktuelle Farbe,
- deren Farbanteile durch die Scrollschieber "rot", "grün" und "blau" ange-
- zeigt werden, durch den Schieber "Farbe" oder durch Maustastendruck im
- Farbfeld auswählen. Die ersten beiden Farben lassen sich allerdings nicht
- verändern, damit die Lesbarkeit des Monitors nicht beeinträchtigt wird.
- Im 256-Farben-Betrieb lassen sich die ersten 16 Farben nur ändern, wenn man
- dies im "Einstell-Dialog" (s.o.) aktiviert hat.
-
- Die Farben "F1" und "F2" werden dazu benutzt, einen Farbbereich zu definie-
- ren. F1 kann mit einem Mausklick auf das Farbfeld zusammen mit der linken
- Shift-Taste, F2 mit der Control-Taste gesetzt werden. Die Farbnummern las-
- sen sich unterhalb des Farbfeldes auch als Zahl eingeben.
- In diesem Bereich werden die Farben rotiert, wenn man den entsprechenden
- Knopf drückt, d.h. die Farbwerte werden zyklisch nach links (mit Shift)
- oder rechts verschoben. Der Bereich dient außerdem dazu, einen "Farbver-
- lauf" zwischen F1 und F2 zu definieren. Mit dieser Funktion werden harmoni-
- sche Farbübergänge erzeugt, mit denen wir die meisten der beigelegten Pa-
- letten erzeugt haben. Die "Grenzfarben" werden durch den Farbverlauf nicht
- verändert.
- Die dritte Funktion, die den Farbbereich berücksichtigt, ist die Inver-
- tierung eines Farbbereichs. Beim Invertieren werden die komplementären
- Farben berechnet - die Histogramm-Anzeige veranschaulicht dies am besten.
-
- Im Arbeitsmodus "Farben global einstellen gesamt/Bereich" werden die RGB-
- Schieber zunächst in Mittelposition gebracht. Mit diesen Schiebern werden
- die Farbanteile nun gemeinsam angehoben oder abgesenkt, aber immer nur bis
- zu den maximal möglichen Werten "0" bzw. "1000". Ein zu starkes Verändern
- führt also zum Abflachen des Farbverlaufs, siehe Histogramm! Mit den hori-
- zontalen Pfeiltasten unterhalb der Schieber kann man die RGB-Anteile nach
- links oder rechts rotieren lassen, was einer Phasenverschiebung entspricht.
-
- Beim Arbeitsmodus "Berechnung eines sinusförmigen Farbverlaufs" könnten
- noch Unmengen von Paramtern (Frequenz, Phasenlage und Amplitude der Sinus-
- schwingungen) eingestellt werden, was aber z.Zt. noch nicht möglich ist.
- Nachdem diese Funktionen aufgerufen wurde, sollten Sie das Pop-Up wieder
- auf eine der anderen Funktionen umschalten.
-
- Mit "Laden" und "Speichern" wird eine der schon erwähnten Farbpaletten ge-
- laden bzw. die aktuelle Palette gespeichert. Eine Auswahl dieser Paletten
- zum Ausprobieren steht Ihnen im "PALETTEN"-Ordner zur Verfügung. Sollte die
- zu ladende Palette nicht der aktuellen Auflösung entsprechen, gibt es die
- Möglichkeit, die Palette automatisch an die aktuelle Auflösung anpassen zu
- lassen. Besser ist natürlich die Verwendung der speziell an die Auflösung
- angepaßten Paletten.
-
- Haben Sie im "Einstell-Dialog" die Verwendung lokaler Farbpaletten akti-
- viert (s.o), lassen sich die Paletten der belegten Bildspeicher über Pop-
- Up-Menüs aufrufen, bearbeiten und anderen Bildspeichern zuordnen, die aber
- belegt sein müssen.
- Der Undo-Button stellt die Palette wieder so dar, wie sie beim Aufruf des
- Dialogs vorlag.
-
- Neben der menügesteurten Einstellmöglichkeit der Palette gibt es zusätz-
- lich ein Tastatur-Menü, das sich über die Tabulator-Taste aufrufen läßt.
- Die Tastaturkommandos können einem integrierten Hilfsmenü entnommen werden.
- ############# KAPITEL 5 #############
-
- Bilder drucken
-
- In diesem Kapitel geht es um die vielen Möglichkeiten, mit denen Sie die
- mit FRACTALS erstellten Bilder auf Ihrem Drucker ausdrucken können. Dazu
- stehen folgende Möglichkeiten zur Verfügung:
- 1. Ausdruck des Bildes im aktuellen Bildspeicher (Fensterinhalt) - im fol-
- genden "Hardcopy" genannt.
- 2. Direkter Ausdruck ohne Bildschirmausgabe in maximaler Drucker-Auflösung,
- das sogenannte "Superformat", neuerdings auch in Farbe.
- 3. Unterstützung von GDOS-Ausdruck, um auch Drucker verwenden zu können,
- die vom Programm nicht direkt unterstützt werden (z.B. Atari-Laser).
-
- Vor dem Ausdruck muß das Programm jedoch wissen, welchen Drucker Sie ange-
- schlossen haben. Hierzu dient die Drucker-Installation, die Sie im Menü
- "Diverses" aufrufen:
- Normalerweise muß hier nur der Typ des verwendeten Druckers ausgewählt wer-
- den. Es werden folgende Druckertypen unterstützt:
- 1. 8- bzw. 9-Nadler, sofern sie EPSON-kompatibel sind;
- 2. 24-Nadler in der NEC P6-Emulation. Hierzu gehören auch (leider) CANON-
- BubbleJets, die mit ihren 64 Tintedüsen kaum ausgereizt werden.
- 3. HP-Laser kompatible Drucker, also praktisch sämtliche Laser-Drucker,
- die an den Parallel-Port angeschlossen werden sowie die nicht farbfähi-
- gen Tintenstrahl-Drucker der DeskJet-Familie.
- (Mindestanforderung: Druckersprache PCL Level III)
- 4. Die farbfähigen HP-DeskJet-Mitglieder (z.B. DeskJet 500C und 550C) mit
- maximal 300 DpI Auflösung.
- 5. Der DJ 850C und ähnliche mit max. 600 DpI Auflösung im S/W-Druck. Bei
- diesen müssen jedoch die Steuercodes angepaßt werden (s.u.).
- 6. Thermo-Sublimations-Seitendrucker von Siemens.
-
- Haben Sie Ihren Drucker ausgewählt, sollten Sie dies sogleich mit "Einstel-
- lung speichern" sichern. Die Druckdaten werden nun in eine Datei namens
- "DRUCKER.INF" gespeichert, die bei jedem Programmstart neu geladen wird.
- Soll der Druckertyp "DJ 850C" verwendet werden, muß vor dem Programmstart
- die Druckerdatei "DJ 850C.INF" in "DRUCKER.INF" umbenannt werden.
- Die Steuerbefehle im unteren Teil des Drucker-Einstell-Dialogs sollten Sie
- nur ändern, wenn Sie sich absolut sicher sind! Im Anhang des Handbuch
- werden die meisten Codes genauer erklärt.
-
- Mit der nun hoffentlich korrekten Einstellung können Sie gleich einmal die
- Hardcopy-Funktion ausprobieren. Diese läßt sich aufrufen, sobald ein Bild
- fertig berechnet oder geladen wurde.
- In der Titelzeile des Hardcopy-Dialogs wird der ausgewählte Druckertyp ein-
- getragen. Im "Ausgabe"-Feld können Sie entscheiden, ob Ihre Hardcopy direkt
- auf dem Drucker ausgegeben oder in ein Drucker-File mit der Endung "PRN"
- gespeichert werden soll, die man später auch vom Desktop ausdrucken kann.
- Je nach verwendetem Druckertyp erfolgt der Ausdruck in 2 verschiedenen
- Bildgrößen ("Drucker-Auflösung") und - außer beim 24-Nadler - in 2 ver-
- schiedenen Druckdichten ("Druck-Qualität").
-
- Folgende Tabelle gibt Auskunft darüber, welche maximalen Bildgrößen beim
- Ausdruck auf einem DIN A4-großen Blatt möglich sind (in Klammern steht die
- jeweils verwendete Auflösung):
-
- Drucker-Typ (Breite * Höhe)
-
- Auflösung 9-Nadler 24-Nadler HP-Laser
- "niedrig" 960 * 640 (80 DpI) 990 * 720 (90 DpI) 1100 * 800 (100 DpI)
- "hoch" 1440 * 960 (120 DpI) 1980 * 1440 (180 DpI) 1650 * 1200 (150 DpI)
-
- Um die Seite besser auszunutzen (die meisten Bilder sind breiter als hoch),
- wird im Querformat gedruckt.
-
- Die Ausgabe von farbigen Hardcopies ist nur im Farbbetrieb möglich.
- Schaltet man auf "Farbe" um, kann mit dem Knopf "Farbanpassung" die
- Ausdruck-Qualität eingestellt werden. Die Intensität jeder Grundfarbe, dies
- sind beim Farbdruck in der Regel die Farben Zyan, Magenta und Gelb (CMY-
- Palette) wird durch ein Raster angenähert, wie es auch bei der Graustufen-
- Ausgabe Verwendung findet. Durch Übereinanderdrucken dieser Grundfarben in
- verschiedenen Rastern können so (theoretisch) über 250000 Farbtöne erzeugt
- werden (Verwendung der internen Raster). Besonders feine Raster erhalten
- Sie, wenn die höchstmögliche Auflösung verwendet wird ("300 DpI-Raster"
- einstellen!). Allerdings dauert dann der Ausdruck erheblich länger, weil
- das Bild intern vergrößert werden muß, um der eingestellten Auflösung
- "niedrig" oder "hoch" zu entsprechen.
-
- Besitzen Sie keinen Farbdrucker, werden die Farben in angenäherte Grau-
- stufen umgesetzt. Die Umrechnung von Farben in Graustufen kann durch die
- "Farbanpassung" im Hardcopy-Dialog für jede Farbe getrennt oder für alle
- Farben durch anteilige Veränderung der Grundfarben eingestellt werden:
- Die "Wichtung der Farbanteile" sollte die physiologische Farb-Empfindlich-
- keit berücksichtigen; Blau-Anteile sind also voreingestellt mit 11% am
- geringsten vertreten. Eine Erhöhung des Blauanteils führt zu dunkleren
- Bildern! Die Summe aller Grundfarben-Anteile muß natürlich 100% ergeben.
- Die Qualität der nun durch die Hardcopy-Routine erzeugten Graustufen-Bilder
- hängt übrigens auch von der verwendeten Farb-Palette ab.
-
- Möchten Sie Bilder unabhängig von der Bildschirmauflösung (und sogar unab-
- hängig von der Anzahl der Farben Ihres Monitors) berechnen, sollten Sie die
- "Superformat"-Option in FRACTALS ausprobieren. Hiermit werden Bilder so
- berechnet, daß sie direkt auf dem Drucker ausgegeben werden können; es ist
- aber auch möglich, Bilder in einer Standard-Bilddatei (IMG oder TIFF) aus-
- zugeben.
- Durch die Verwendung der hohen Druckerauflösung muß natürlich eine Bild-
- größe eingeben werden, die die des Bildschirm deutlich übersteigt, will man
- sich nicht mit briefmarkengroßen Bildern zufriedengeben. Folgende Tabelle
- zeigt die maximal mögliche Bildgröße je nach Druckertyp (DIN-A4-Format):
-
- Drucker-Typ (Breite * Höhe), Auflösung in DpI
-
- 9-Nadler 24-Nadler HP-Laser DJ 850C (S/W)
- max. Größe 1920 * 1400 1440 * 1800 2400 * 3000 4800 * 6000
- Auflösung 240 * 144 180 * 180 300 * 300 600 * 600
-
- Achtung: jede Verdoppelung der Bildgröße die vervierfacht die Rechenzeit!
-
- Den Superformat-Modus aktivieren Sie, indem Sie unter "Diverses" im Dialog
- "Einstelllungen" von der "Bildschirm-" auf die "Drucker- oder Datei-Itera-
- tion" umstellen. Damit ändert sich die Funktion der Dialoge "Zoomen" und
- "explizite Werte", während die Berechnung einer Grundfigur nach wie vor auf
- dem Bildschirm erfolgt. Die Flächen-Interpolation sowie das Preview-Ver-
- fahren ist im Superformat-Modus nicht möglich, außerdem können Sie keine
- Bilder der Iterationstypen "Hüpfer", "IFS" und "L-Systeme" direkt für den
- Drucker erstellen (bei letzteren ist aber die GDOS-Ausgabe möglich!)
-
- Bevor der Ausdruck gestartet wird, erscheint der "Superformat"-Ausgabe-
- Dialog. Zunächst gibt es die vom Hardcopy-Dialog bekannte Möglichkeit,
- Druckerdaten in ein File umzuleiten. Dies ist besonders bei längeren Be-
- rechnungen zu empfehlen, um das "Leerlaufen" des Druckers zu vermeiden.
- Bei HP-Druckern können die Druckdaten komprimiert werden, so daß sich der
- Bildausdruck teilweise erheblich beschleunigen kann, da sich die Datenmen-
- ge verringert, die an den Drucker geschickt werden muß.
-
- Im unteren Feld des Dialogs wird die Darstellung der Superformat-Bilder
- eingestellt. Die Ausgabe kann bei nicht farbfähigen Druckern und für das
- IMG-Dateiformat in S/W oder in Graustufen erfolgen. Farbfähige Drucker
- sowie das TIFF-Format produizeren Bilder in 16 oder 256 Farben. Hierzu muß
- jedoch eine passende Farbpalette geladen werden, sofern sich die Farbauf-
- lösung des Bildschirms von der eingestellten Auflösung unterscheidet.
-
- Um Enttäuschungen zu vermeiden, sollte man sich das Aussehen des Bildes
- genau überlegen, denn eine spätere Überarbeitung (wie bei der Bildschirm-
- Darstellung) ist ja nicht möglich. Daher ist es (zumindest für die Drucker-
- Iteration) empfehlenswert, das Bild zunächst auf dem Bildschirm zu berech-
- nen und zu überarbeiten. Graustufen bei der Bildausgabe können übrigens
- nur angewählt werden, wenn vorher ein Bild in Graustufen überarbeitet wur-
- de - es muß also eine Graustufentabelle definiert worden sein oder eine
- Graustufentabelle als "Farbtabelle" geladen werden.
-
- Während der Superformat-Ausgabe zeigt Ihnen der Rechner in einem nicht-
- modalen Fenster an, wie weit seine Berechnungen vorangeschritten sind.
- Unter Multitasking kann FRACTALS jetzt verlassen werden. Ein Abbruch ist
- per [ESC]-Taste natürlich möglich - allerdings wird immer erst eine Kolon-
- ne von Zeilen zu Ende berechnet (bei der TIFF- und IMG-Ausgabe 8, beim
- 8-Nadler 16, sonst immer 24 Zeilen) und ausgegeben. Die Fortsetzung einer
- abgebrochenen Superformat-Iteration ist aber nicht möglich, daher erfolgt
- auch vorher eine Sicherheitsabfrage.
- Haben Sie das Bild als Drucker-File abgespeichert, kann am Ende der Berech-
- nung das PRN-File von FRACTALS geladen und ausgedruckt werden. Die Bild-
- parameter werden ähnlich wie beim "Bild-Info"-Dialog in einer INF-Datei
- abgespeichert.
-
- Nun soll noch etwas genauer auf die Ausdruckmöglichkeiten mit installiertem
- "GDOS" eingegangen werden. Der Platz reicht hier leider nicht, um Ihnen die
- doch recht komplizierte Installation von GDOS zu erläutern. Wir empfehlen
- NVDI 3.x, das Ihnen hier viel Arbeit abnimmt und eine Vielzahl von Drucker-
- treibern mitliefert.
- Bei vorhandenem GDOS, sind in den Dialogen "Graustufen-Umsetzung" und
- "Farbbearbeitung" die Knöpfe "GDOS-Ausgabe" anwählbar. In den Dialogen zur
- Berechnung von "IFS" und "L-Systemen" ist nun im Ausgabe-Pop-Up "GDOS" an-
- wählbar. Vor der Bildausgabe aus den ersten beiden Dialogen kann im GDOS-
- Einstell-Dialog die Nummer des Druckertreibers angegeben werden - normaler-
- weise ist dies die Nummer 21.
- Bei der "Bildgröße" für Farben- oder Graustufen-Ausgabe ist zu beachten,
- daß GDOS stets in der maximal möglichen Auflösung des Druckers arbeitet.
- Bei einer 1:1-Ausgabe eines Bildes kann dieses also auf Briefmarkengröße
- schrumpfen! Andererseits müssen Sie selber ausprobieren, ob Bilder im
- Maßstab 5:1 noch in Gänze ausgedruckt werden können. Außerdem wird mit
- zunehmend Vergrößerung die Bildstruktur natürlich immer gröber!
-
- Voraussetzung für einen erfolgreichen GDOS-Ausdruck ist reichlich Speicher
- und Geduld! Wollen Sie Ihren Atari-Laser füttern, muß vorher im Dialog
- "freier Speicher" etwa 1.5 MByte Systemspeicher reserviert werden. Weiter-
- hin wird - während sich das Bild aufbaut - vom Druckertreiber eine Tempo-
- rärdatei angelegt, die vor allem beim Graustufenausdruck mehrere Megabytes
- umfassen kann. Ohne Harddisk sind solche Bilder also praktisch nicht reali-
- sierbar!
- ############# KAPITEL 6 #############
-
- Optionen
-
- 1. Im Dialog "Einstellungen" (Menü Diverses) werden globale Parameter ge-
- setzt, mit denen man sich eine weitgehend "persönliche" Arbeitsumgebung
- schaffen kann. Die meisten dieser Parameter werden in "FRACTALS.INF" ab-
- gespeichert und stehen somit bei jedem neuen Programmstart wieder zur
- Verfügung.
- - Ausgabetyp:
- Bildschirm normal: voreingestellter Ausgabetyp; alle Bildberechnungen
- werden für die Bildschirm-Auflösung ausgeführt. Bilder können nur so
- groß definiert werden, wie dies die Auflösung vorgibt.
- Bildschirm ohne Ausgabe: Die Grafikausgabe wird bei der Iteration un-
- terdrückt; erst nach der Iteration wird das Bild anhand der Tiefenwert-
- tabelle gezeichnet. Empfehlenswert unter Multitasking-Umgebung.
- Drucker (Superformat): Direkte Berechnung eines Bildes für den einge-
- stellten Drucker (s. vorheriges Kapitel).
- Datei (IMG/TIFF): Berechnung eines Bildes in S/W oder Farbe bis zu ei-
- ner Bildgröße von 5000 * 5000 Pixel unabhängig von Auflösung und Farb-
- zahl des Monitors; Bedienung ähnlich wie das Superformat (siehe dort).
- Offscreen (Speicher): Unter NVDI ab V2.5 läßt sich mit Hilfe der "En-
- hancer"-Funktion die Bildschirmausgabe in einen Speicherbereich umlei-
- ten. Damit ist die Bildgröße nur noch vom Speicherumfang begrenzt!
- - Bilddatei. Mit diesen beiden Knöpfen sind vier Einstellungen möglich:
- Bilder werden konvertiert und gepackt (empfohlene Standardeinstellung);
- Bilder werden nur konvertiert, also nicht gepackt und sind damit durch-
- schnittlich 50% größer. Vorteil: Bilder lassen sich schneller laden, da
- das Entpacken entfällt.
- Bilder werden nur gepackt. Durch den Wegfall des Konvertierens spart
- man Hauptspeicher, kann die Bilder jedoch nicht mehr in einer anderen
- Farbauflösung laden.
- Bilder werden weder gepackt noch konvertiert: nur für eine Bilderfolge
- zu empfehlen, bei der es auf Geschwindigkeit des Ladens ankommt (Film-
- sequenz für FRACSHOW!).
- - Coprozessor: FRACTALS unterscheidet zwischen TT- und ST-FPU, da diese
- mathematischen Coprozessoren intern unterschiedlich angesprochen wer-
- den. Die Knöpfe sind nur anwählbar, wenn ein solcher "Rechenkünstler"
- eingebaut ist und Sie eine namentlich installierte Vollversion von
- FRACTALS besitzen. Der DSP des FALCONs wird (noch) nicht unterstützt.
- - Interpolation (gültig für die Iterationstypen Mandelbrot, Juliamenge,
- Biomorphe und Newton-Attraktoren):
- keine Interpolation: es wird jedes Bild- oder Druckerpixel berechnet,
- also höchste Genauigkeit bei der Berechnung.
- Punkt-Interpolation: Interpolation zwischen benachbarten Punkten -
- einfach aber sehr effektiv und mit hoher Genauigkeit!
- Zeilen-Interpolation, dem "Guessing-Mode" von "FRACTINT" (Fraktal-Pro-
- gramm für IBM-kompatible PC') nachempfunden. Bei nicht zu komplexen
- Bildstrukturen die schnellste Interpolationsart.
- Flächen-Interpolation: Interpolation quadratischer Flächen zwischen 4
- und 32 Pixeln. Optisch die interessanteste Interpolation!
- Preview-Verfahren: Eigentlich keine Interpolation; das Bild wird in
- schrittweise verfeinerten Berechnungsstufen aufgebaut, dadurch bekommt
- man schnell einen ersten Eindruck vom Bild, ohne es unbedingt zu Ende
- berechnen zu müssen.
- - Überschreibwarnungen werden für Bilder und/oder Tiefenwerte ausgegen,
- wenn noch nicht gespeicherte Bilder oder Tiefenwertfelder überschrieben
- oder überladen werden sollen.
- - Tiefenwertdatei anlegen: Hiermit wird die automatische Erstellung eines
- Tiefenwertfeldes während der Bildschirm-Iteration ein- oder ausgeschal-
- tet. Damit sich Bilder nachbearbeiten oder dreidimensional projizieren
- lassen, muß eine Tiefenwertdatei auf jeden Fall vorhanden sein!
- - Farbpalette anhängen: Im Farbbetrieb werden für jeden Bildspeicher lo-
- kale Farbpaletten verwendet, außerdem werden Bilddateien zusammen mit
- ihrer Paletten Paletten gespeichert/geladen.
- - Farben 2 - 15 verwenden: Im Betrieb mit 256 Farben kann hiermit einge-
- stellt werden, ob diese Farben bei der Veränderung der Palette berück-
- sichtigt werden sollen oder nicht. Auch wenn dies die Anzahl der zur
- Verfügung stehenden Farben etwas verringert, sollte man diese Farben,
- die vom Betriebssystem verwendet werden, besser nicht verändern.
- - Desktop-Hintergrund: kein Desktop bedeutet, daß kein eigener Desktop
- verwendet wird (nur unter Multitasking empfehlenswert!
- die Verwendung der Hintergrund-Grafik und der Bildspeicher-Icons kann
- getrennt ein- oder ausgeschaltet werden.
- - Desktop-Farbe: Im Farbbetrieb die Farbe des (eigenen) Desktops; bei
- weniger als 256 Farben sollte man Farbe 1 (= Schwarz) benutzen.
- - Gong: Ein- und Ausschalten des Signaltons nach beendeter Iteration.
- - Dialoge zentrieren: FRACTALS unterstützt virtuelle Bildschirm-Auflö-
- sungen, bei denen der Monitor quasi wie ein Fenster auf einen größeren
- Bildschirm arbeitet. Bei Aktivierung dieses Knopfes werden GEM-Fenster
- und Dialoge mittig auf dem Bildschirm ausgegeben, sofern möglich.
- - Bildspeicher komprimieren: Bilder werden intern gepackt, womit man
- bei nicht zu komplexen Bildern einigen Speicher spart!
- - Parameter automatisch abspeichern: Bei jedem Programm-Ende wird eine
- aktualisierte FRACTALS-INF-Datei angelegt.
-
- 2. Im Dialog "Speicher-Information" wird die Größe des von FRACTALS verwen-
- deten Speichers angezeigt bzw. eingestellt.
- - Freier Hauptspeicher: Das ist der Speicher, der nach Programmstart von
- FRACTALS für Felder und Bildspeicher dynamisch verwaltet wird.
- - Belegter Bildspeicher: Zeigt den Umfang des von Bildern benötigten
- Speicherplatzes an.
- - Maximal verwendeter Hauptspeicher: Bei Programmstart läßt sich hiermit
- festlegen, wievile Speicher sich FRACTALS maximal vom zur Verfügung
- stehenden Hauptspeicher "klaut".
- - reservierter Systemspeicher: Da FRACTALS noch nicht über eine echte
- dynamische Speicherverwaltung verfügt, muß die Größe des Speichers, der
- nach Programmstart an das Betriebssystem zurückgegeben wird explizit
- angegeben werden. Da die Systemspeicher-Reserve in FRACTALS.INF gesi-
- chert und somit bei jedem Neustart auf den gesetzten Wert gestellt
- wird, muß man notfalls das INF-File löschen, um wieder auf den Default-
- Wert von 100 kByte zu kommen.
- - zusätzlicher Systemspeicher: Dieser Speicherbereich, dessen ausreichen-
- de Größe (ohne Multitasking-Betriebssystem) vor allem für die reibungs-
- lose Benutzung von GDOS wichtig ist, läßt sich durch einen Fehler im
- verwendeten GFA-BASIC leider nur vergrößern!!
- - Tiefenwert-Speicher: Hiermit läßt sich die Größe des Tiefenwert-Spei-
- chers neu einstellen, z.B. wenn die Bilditeration abgebrochen wurde,
- weil das Feld überzulaufen drohte (siehe Kapitel Iteration). Das Tie-
- fenwert-Feld sollte daher großzügig dimensioniert werden!
- - Vorgabe der maximal möglichen Rechentiefe: Da mit diesem Wert feste
- Speicherfelder für das Verteilungsdiagramm und die Farbzuordnung dimen-
- sioniert werden, sollte bei knappem Speicher bedacht werden, ob diese
- Rechentiefe wirklich benötigt wird. Bei der maximal möglichen Rechen-
- tiefe 65535 werden fast 400 kByte verbraucht! Der Mindestwert-Tiefen-
- wert beträgt 4000.
-
- ############# KAPITEL 7 #############
-
- Internes
-
- 1. Berechnungszeiten:
-
- Normalerweise muß jeder auf dem Bildschirm sichtbare Bildpunkt errechnet
- werden, um ein Fraktal darzustellen. Dies geschieht in einer "Iterations-
- schleife" (s. Kapitel 1, mathematische Grundlagen) und ist immer sehr
- zeitaufwendig, da viele Berechnungen durchgeführt werden müssen.
- Wird also ein Bild berechnet, wie z.B. die Grundfigur der Mandelbrot-
- menge, das "Ur-Apfelmännchen", dann müßten bei einer Bildgröße von z.B.
- 400 * 400 Bildpunkten - 160.000 Pixel iteriert werden. Ohne Computer-
- unterstützung ist die Berechnung praktisch unmöglich! Dies ist wohl auch
- der Hauptgrund, warum Fraktale erst vor einigen Jahren entdeckt und er-
- forscht werden konnten. Aber auch modernere Mikroprozessoren, wie z.B.
- der 68030 im ATARI-TT oder INTEL's 486 in PC-Systemen können nicht zau-
- bern!
- Bei Verwendung von Grafikkarten mit sehr hohen Bildschirmauflösungen
- steigt der Rechenaufwand zudem beträchtlich an. So kann man sehr wohl
- sagen, daß eine hohe Auflösung auf dem Bildschirm nur mit viel
- "Rechenpower" ausgeglichen werden kann, die moderne Mikroprozessoren
- liefern.
- Verwendet man ein Multitasking-Betriebssystem, sinkt die Rechenkapazi-
- tät, da jeder Anwendung, die vom Desktop aus gestartet wird, eine be-
- stimmte Rechenzeit zugewiesen wird. In der Praxis bedeutet dies, daß
- FRACTALS V langsamer läuft als auf Rechnern, die unter "Single-Tasking"
- TOS-Versionen laufen. Dies ist der Preis, der für den möglichen Parallel-
- betrieb verschiedener Programme bezahlt werden muß!
-
- 2. Interpolation:
-
- Was bedeutet eigentlich der Begriff "Interpolation"?
- Allgemein kann gesagt werden, daß bei aktivierter Interpolation nicht
- mehr jeder Bildpunkt durch die zeitaufwendige Iteration berechnet wird.
- Prinzipiell wird immer von benachbarten Bildpunkten - im Rechner als
- Tiefenwert gespeichert - auf den Tiefenwert bzw. auf die Farbe benach-
- barter Bildpunkte geschlossen. Hierbei entstehen Fehler, und zwar umso
- mehr, je weniger Punkte exakt berechnet werden. Bei geschickter Wahl des
- Interpolationsabstandes sind diese Lagefehler aber vernachlässigbar klein
- und mindern daher bei den heute üblichen hohen physikalischen Bildschirm-
- auflösungen nur sehr geringfügig den optischen Eindruck des erstellten
- Bildes.
- Um Interpolationsfehler ganz auszuschließen, läßt sich die Interpolation
- natürlich auch deaktivieren!
-
- Folgende Interpolationsarten stehen zur Verfügung, die im Dialog "Allge-
- meine Einstellungen" ausgewählt werden können:
- a) keine Interpolation
- b) Punkt-Interpolation
- c) Flächen-Interpolation
- d) Zeilen-Interpolation
- e) Preview-Verfahren
- Die Punkt- sowie die Zeilen-Interpolation laufen immer unsichtbar im
- Hintergrund ab. Erst wenn die Berechnung abgeschlossen sind, werden die
- fertig errechneten Bildteile in Form von Pixelzeilen ausgegeben.
-
- Mit zunehmender Vergrößerung müssen Sie sich dann schon etwas mehr gedul-
- den, bis neue Bildteile sichtbar werden.
- Generell gilt, daß die Rechenzeit eng mit dem Grad der Strukturierung
- eines Bildes zusammenhängt. Je detaillierter, strukturierter ein Bild
- ist, umso mehr muß gerechnet und um so weniger kann durch Interpolation
- Zeit gewonnen werden.
- Im Folgenden wollen wir die einzelnen Verfahren kurz vorstellen:
-
- a) keine Interpolation:
- Das Bild wird Punkt für Punkt errechnet. Die Iteration einer Bildzeile
- findet vollständig im Hintergrund statt und wird nach ihrer Berechnung
- komplett ausgegeben. Die Rechenzeit steigt mit zunehmender Vergrößerung
- und Rechentiefe. Vorteil : exakte Ermittlung der Farbe und 'Tiefe' für
- jeden einzelnen Bildpunkt. Nachteil: lange Berechnungszeiten!
- Unser Rat: möglichst nicht anwählen....!
-
- b) "Punkt-Interpolation":
- - Die erste Bildschirmzeile wird Punkt für Punkt iteriert und anschlie-
- ßend auf dem Bildschirm ausgegeben.
- - Von der 3. Zeile wird jeder zweite Bildpunkt iteriert.
- - Die zwischenliegenden Pixel werden interpoliert: haben die benachbarten
- Punkte den gleichen Tiefenwert, so erhält auch der zu interpolierende
- Punkt diesen Wert - sind sie verschieden, so muß auch der Tiefenwert
- dieses Punktes neu iteriert werden.
- - Genauso werden die Punkte der zweiten Zeile interpoliert, indem die
- darüber- und darunterliegenden Tiefenwerte der ersten und dritten Zeile
- miteinander verglichen werden.
- - Ausgabe der errechneten zweiten und dritten Zeile auf dem Bildschirm.
- - Jetzt kann mit der 5. Zeile (wie bei der 3.) fortgefahren werden.
-
- Je nach Komplexität des Bildes wird die Rechenzeit durch dieses Verfahren
- etwa um den Faktor 2-3 beschleunigt. Die Punkt-Interpolation bringt die
- besten Ergebnisse bei stärker strukturierten Bildern mit möglichst wenig
- bzw. kleinen, einfarbigen Flächen.
-
- c) Flächen-Interpolation:
- Wählen Sie dieses Verfahren, dann müssen Sie die Größe der maximal inter-
- polierten Fläche festlegen. Dabei muß die Bildbreite immer ein Vielfaches
- der Breite der gewählten Interpolationsfläche (also 32, 16, 8 oder 4 Pi-
- xel) sein. Andernfalls beschwert sich das Programm!
-
- Dieses Verfahren erklärt sich von selbst, da im Gegensatz zur Punkt- und
- Zeilen-Interpolation der soeben errechnete Bildpunkt sofort ausgegeben
- wird. Zunächst werden die Umriß-Punkte des aktuellen Rechtecks bestimmt.
- Haben alle Bildpunkte die gleiche Rechentiefe, wird die Fläche hiermit
- gefüllt. Unterscheiden sich Bildpunkte, wird die gesamte Fläche gevier-
- telt. Von jedem Viertel werden nun wieder die Umriß-Punkte bestimmt usw.
- Die kleinste Fläche, die interpoliert werden kann, besteht aus vier Bild-
- punkten Kantenlänge. Wird diese Breite unterschritten, weil durch unter-
- schiedliche Tiefenwerte die dazugehörende Fläche nicht gefüllt werden
- kann, so müssen alle dazugehörenden Bildpunkte einzeln berechnet werden.
- Bei stark strukturierten Bildern können also die Vorteile einer Flächen-
- Interpolation schnell aufgehoben werden. Sie erkennen das auch daran, daß
- die Interpolationsflächen immer weiter geviertelt werden müssen. Das
- kostet Zeit! Im Extremfall gewinnen Sie keinerlei Vorteile aus diesem
- Modus.
- Wenden Sie deshalb die Flächen-Interpolation nur an, wenn Ihr Bild sehr
- große einfarbige Flächen enthält. Selbst hier kann unter Umständen die
- Zeilen-Interpolation noch schneller sein.
- Unser Tip: wenn Sie was fürs Auge haben wollen...
-
- d) Zeilen-Interpolation:
- In gewisser Weise handelt es sich bei dieser Interpolationsart um ein
- Verfahren, das zwischen der Punkt- und der Flächen-Interpolation einzu-
- ordnen ist. Wir haben hier den Versuch unternommen, die Vorteile der bei-
- den beschriebenen Verfahren zu vereinigen. Vielleicht kennen Sie das be-
- kannte fraktale Shareware-Programm "FRACTINT" aus der PC-Welt. Die
- Zeilen-Interpolation entspricht (mit einigen Änderungen) in etwa dem dort
- verwendeten "GUESSING" - Verfahren und darf somit als ein sehr schnelles
- Verfahren eingestuft werden. Es gibt allerdings auch deutliche Änderun-
- gen, da wir diesen Modus an die erweiterten Möglichkeiten von FRACTALS V
- anpassen mußten. Auch hier läuft die Berechnung im Hintergrund ab.
-
- Ein "Rechenzyklus" besteht aus folgenden Schritten:
- - Die erste Bildschirmzeile wird Punkt für Punkt iteriert.
- - Von der 9. Zeile wird jeder Bildpunkt im Abstand x iteriert. Im ersten
- Durchlauf gilt: x = 8 Pixel Breite.
- - Die zwischenliegenden Pixel werden im Abstand x/2 interpoliert: haben
- die benachbarten Punkte den gleichen Tiefenwert, so erhält auch der zu
- interpolierende Punkt diesen Wert - sind sie verschieden, so muß der
- Tiefenwert dieses Punktes neu iteriert werden.
- - Genauso werden die Punkte der 5. Zeile interpoliert, indem die darüber-
- und darunterliegenden Tiefenwerte der ersten und neunten Zeile mitein-
- ander verglichen werden.
- - Jetzt wird x = 4 gesetzt und die zwischenliegenden Pixel der ersten und
- fünften Zeile im Abstand x/2 interpoliert bzw. wenn notwendig iteriert.
- Wir erhalten die ersten Pixel der 3. Zeile im Abstand x/2.
- - Nun werden die Punkte der 7. Zeile interpoliert, indem die darüber und
- darunterliegenden Tiefenwerte der fünften und neunten Zeile miteinander
- verglichen werden.
- - Der Abstand 'x' wird schließlich auf x = 2 gesetzt und wir fahren mit
- der Punkt-Interpolation zwischen der 1. Zeile und 3. Zeile, dann zwi-
- schen der 3. Zeile und 5. Zeile usw. fort, bis wir nach insgesamt vier
- Durchläufen die 9. Zeile erreichen.
- - Ausgabe der errechneten Zeilen 1 bis 8 auf dem Bildschirm.
- - Die berechnete 9. Zeile des Bildes wird nun wieder als 1. Zeile ange-
- nommen. Jetzt kann der nächste Bildstreifen (die Zeilen 9 bis 18) be-
- rechnet werden.
-
- Auch hier unser Tip: Erstellen Sie die Grundfiguren aller Formeln immer
- in diesem Modus. Bei sehr strukturierten Bildern ist die Zeilen-Inter-
- polation etwas langsamer als die Pixel-Interpolation, da der Verwaltungs-
- aufwand hier größer ist. Das ändert sich aber sehr schnell, wenn auch nur
- einige einfarbige Flächen mittlere Größe im gezoomten Bild zu berechnen
- sind. Dann gewinnt dieses Verfahren deutlich an Boden. Geduld müssen Sie
- aber auch hier mitbringen; schließlich müssen erst mehrere Zeilen berech-
- net werden, bevor Sie etwas auf dem Bildschirm sehen.
-
- e) Preview-Verfahren:
- Ebenso wie in der Flächen-Interpolation wird jeder errechnete Bildpunkt
- sofort ausgegeben. Das Bild wird dabei in meheren Durchläufen erstellt,
- erst in einer groben Rasterung (32 Pixel Breite & Höhe) und in der Folge
- mit jeweils halber Rasterung nachgebessert. Wenn möglich wird zwischen
- den Bildpunkten interpoliert. Allerdings ist hier die Fehlerrate höher
- als in den anderen Interpolationsverfahren.
- Mit diesem Verfahren gewinnt man sehr schnell einen ersten Eindruck
- ("Preview") vom Bild. Für Grundfiguren sollten Sie diesen Modus aber
- nicht aktivieren. Im Gegensatz zu allen anderen Interpolationsarten
- kann hier eine Bildberechnung nicht abgebrochen werden, um sie später
- an gleicher Stelle fortzusetzen. Außerdem lassen sich die Tiefenwerte
- eines Preview-Bildes auch nur dann auswerten, wenn die Iteration nicht
- vorzeitig abgebrochen wurde.
- Zur Berechnung ist es notwendig, das Tiefenwertfeld ausreichend zu
- dimensionieren, da die Tiefenwerte bei der Bildberechnung zunächst nicht
- komprimiert werden.
- Faustformel für die Tiefenwertdimensionierung:
- Bildbreite * Bildhöhe * 2 Speicherbedarf.
-
-
- 3. Festkomma- und Fließkomma-Arithmetik:
-
- Mit FRACTALS V steht Ihnen neben einer Fließkomma-Arithmetik auch eine
- Festkomma-Arithmetik zur Verfügung, die sich ja bereits in den früheren
- Programmversionen bewährt hat. Auf die Unterschiede gehen wir gleich ein.
- Zunächst aber sei gesagt, daß Sie über diese Dinge nicht unbedingt Be-
- scheid wissen müssen, um mit FRACTALS V erfolgreich arbeiten zu können,
- denn FRACTALS V entscheidet automatisch, in welchem "Modus" die angewähl-
- te Iterationsformel berechnet werden muß. Als Anwender interessiert Sie
- wahrscheinlich eher, mit welcher Geschwindigkeit ein Bildausschnitt er-
- stellt wird. Da sind wir natürlich stolz Ihnen sagen zu können, daß
- FRACTALS V zu den schnellsten Programmen seiner Art gehört!
-
- a) Festkomma-Arithmetik:
- Für die klassische Mandelbrotmenge "z^2 + c" (Formel der "Apfelmännchen"-
- Grafiken) wird immer eine optimierte Festkomma-Arithmetik verwendet.
- 'Optimiert' bedeutet, daß FRACTALS V mit einer an die Vergrößerung ange-
- paßten Genauigkeit rechnet, d.h. die Anzahl der relevanten Nachkomma-
- stellen wird begrenzt und damit die Rechengeschwindigkeit optimiert.
- Das Ausgangsbild der Mandelbrotmenge, das "Ur-Apfelmännchen" wird in der
- Regel mit einer 16-Bit Festkomma-Arithmetik berechnet. Sie bietet höchste
- Geschwindigkeit, allerdings bei begrenzter Genauigkeit. Zoomen Sie nun
- in die Tiefe des Bildes, werden Sie schnell bemerken, daß sich die Re-
- chendauer bei zunehmender Vergrößerung erhöht. Dies muß so sein, da sich
- die Bildgrenzen ("Xmin", "Xmax" bzw. "Ymin", "Ymax") ständig verkleinern
- ("Zoomeffekt") und damit die Anzahl der signifikanten Nachkommastellen
- steigt.
- Befindet sich in Ihrem Rechner keine FPU oder wurde diese abgeschaltet,
- unterscheidet FRACTALS V zwischen folgenden Festkomma-Modi, die immer
- automatisch anhand der Vergrößerung festgelegt werden:
- 16-Bit: ca. 3 Nachkommastellen genau (Grundfigur und erste Vergr.)
- 32-Bit: ca. 7 Nachkommastellen genau
- 48-Bit: ca. 12 Nachkommastellen genau
- 64-Bit: ca. 16 Nachkommastellen genau
- Eine 64-Bit-Festkomma-Arithmetik mit 16 Nachkommastellen Genauigkeit ist
- wesentlich zeitaufwendiger als beispielsweise eine 32-Bit-Arithmetik
- mit nur sieben Nachkommastellen. Bei entsprechend groß gewählter Rechen-
- tiefe könnten Sie Ihren Rechner durchaus einige Tage im 64-Bit Modus
- beschäftigen!
- Nach Fertigstellung eines Bildes finden Sie zu Ihrer Information in der
- Info-Box sowie im Bild-Info immer den verwendeten Iterationsmodus ange-
- geben.
- ACHTUNG: Bei allen Festkomma-Modi ist auch der Vorkomma-Anteil begrenzt!
- Erhöht man den Vorkomma-Anteil, indem man z.B. den Radius eines
- Bildes auf Werte über 4 vergrößert, wird entweder in eine
- Fließkomma-Emulation ("CPU-Fließkomma") umgeschaltet oder bei
- nicht zu starker Bildvergrößerung ein erweitertes Festkomma-
- Format ("32 Bit-erweitert") auf Kosten der Rechengenauigkeit
- verwendet.
-
- Um den Einfluß des Radius auf die Iteration zu veranschaulichen, können
- Sie im Dialog "Parametereingabe" im Menü "Iteration" diesen beispielswei-
- se von 4 auf 8 erhöhen. Sie werden bemerken, daß die Berechnung der
- Grundfigur nun etwas mehr Zeit erfordert, da das Bild jetzt nicht mehr
- im 16-Bit Modus, sondern im erweiterten 32-Bit Modus iteriert wird.
- Außerdem ändert sich mit dem neuen Radius der optische Eindruck des Bil-
- des ein wenig. Mit zunehmender Erhöhung des Radiuswertes läßt sich ein
- "kosmetischer" Effekt erzielen, indem das Bild in seinen Randbereichen
- etwas ausgeglichener erscheint - am deutlichsten im Bereich der Antenne.
- Bei Vergrößerung des Radiuswerts auf 100 wird die langsame Fließkomma-
- Arithmetik verwendet. Beachten Sie bitte auch, daß Bilder, die sich be-
- reits deutlich im 48-Bit- oder 64-Bit-Zahlenbereich bewegen, auf jeden
- Fall in der langsameren Fließkomma-Emulation berechnet werden, wenn Sie
- den Radiuswert auf einen höheren Wert als 4 einstellen. Der Wert 4 gilt
- also als Default-Einstellung.
-
- Julia- und Mandelbrotmengen für die Funktionen "z^3 + c", "z^4 + c" und
- "z^5 + c" werden, abgesehen von der optionalen Fließkomma-Emulation,
- immer im erweiterten 32-Bit-Modus berechnet (dies gilt auch für alle
- Juliamengen der Funktion "z2 + c"!) Hier steht Ihnen also kein schneller
- 16-Bit oder sehr genauer 64-Bit Modus zur Verfügung.
-
- Bei höheren Funktionen wird stets die Fließkomma-Emulation verwendet, da
- sich hier eine Festkomma-Arithmetik nicht lohnt. Sie müssen also hohe
- Rechenzeiten in Kauf nehmen, wenn Ihr Rechner über keinen mathematischen
- Coprozessor verfügt!
- Die Beschleunigung durch eine FPU ist enorm: Benötigt z.B. ein älterer ST
- mit 8 MHz Taktfrequenz für die Berechnung der Grundfigur der Formel
- "cos (z) + c" noch fast 40 Minuten, so braucht ein MEGA-STE mit FPU nur
- noch ca. 2.5 Minuten!
-
- b) Fließkomma-Arithmetik mit FPU:
- Die evtl. eingebaute FPU (im TT serienmäßig, bei allen anderen Rechner-
- typen optional) wird durch spezielle Routinen, die z.T. in Maschinen-
- sprache geschrieben worden sind, optimal unterstützt.
- Nur die 16-Bit-Arithmetik bleibt in ihrer Rechengeschwindigkeit unge-
- schlagen und wird in der ST-Programmversion weiterhin benutzt, um die
- Mandelbrot-Grundfigur der Iterationsformel "z^2 + c" zu erstellen. (In
- der TT-Version wird auch diese Grundfigur mit Hilfe des Koprozessors
- berechnet. Um hier noch einige Sekunden herauszuholen, können Sie die
- Benutzung der Festkomma-Arithmetik durch Abschalten der FPU im "Ein-
- stell"-Dialog erzwingen!)
- Der 68000-Prozessor kann im Gegensatz zum 68030-Prozessor im TT bzw.
- Falcon 030 einen Coprozessor nur als "Portbaustein" ansprechen. Das
- heißt, sie bilden keine echte Einheit, wie z.B. das 68030/68882-Gespann
- im TT. Portbausteine müssen immer adressiert werden, was bedeutet, das
- einige Zeit während des Datenaustausches zwischen CPU und FPU verloren
- geht. Hat der Coprozessor (FPU) aber alle Daten, dann ist er nicht viel
- langsamer als das oben erwähnte Gespann im TT oder Falcon, sieht man ein-
- mal von der geringeren Taktfrequenz ab.
- Speziell diese Datenschnittstelle zwischen FPU und CPU im ST(E) wurde von
- uns optimiert. Die Ergebnisse können sich sehen lassen!
-
- Nach Fertigstellung eines Bildes finden Sie in der Info-Box den Itera-
- tionsmodus "FPU-Fließkomma" immer dann angegeben, wenn die Iteration
- speziell für die FPU optimiert wurde. Dies trifft auf fast alle Formeln
- zu! Mit der Fließkomma-Arithmetik stehen ca. 19 Nachkommastellen bei
- fast beliebig großem Vorkommaanteil zur Verfügung.
-
-